Browsing Includes

In the Project Editor, select the file phil.adb.
Choose Info > phil.adb Includes.
The Include Browser appears. You can see which files are explicitly or implicitly included in this file.

4. Select society.ads. Choose Context menu > Show Include Statement.
   The Source Editor appears, and the statement

WITH SOCIETY is highlighted. As you can see, the parser kept track of in which source file was the package SOCIETY defined. As the source explicitly named the package through a WITH clause, this is an explicit include.
Back in the Include Browser, select phil.ads and right-click to show its include statement.
In the Source Editor the statement PACKAGE BODY PHIL is highlighted. For semantically correct information, at this point the package specification must be read in, though it was not specified with a WITH clause. This is called implicit include.
Back in the Include Browser, select random_generic.ads. Choose Contex menu > Included By to see which other source files include this one.
You can see that two files include random_generic.ads: phil.adb and random_generic.adb. phil.adb is displayed in italic, showing that this include relationship is already displayed.
Our interest is now on random_generic.adb. Select it and choose Context menu > Start from random_generic.adb.
random_generic.adb becomes the root. Currently, only this file is displayed in the Include Browser.
Let's see which files are included by random_generic.adb.
Two additional nodes are displayed: random_generic.ads and ADA.NUMERICS.DISCRETE_RANDOM .
As the package ADA.NUMERICS.DISCRETE_RANDOM is not included in the project, the parser was unable the locate the file in which it is defined. For this reason, instead of the file name, the referenced package name was displayed in the Include Browser. Note that the name of the package is in normal typeface, while file names that were found by the parser, are bold.
Close the Source Editor and Include Browser tools.